%代码如下
t = [1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990];
p = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4];
t = t-1780; %整体减去1780
x0 = [150,0.15]; %待定参数x的初值（自己根据实际情况给出初值，之后再不断调整；其中第一个参数为最大人口数，第二个参数为人口增长率）
x = lsqcurvefit('Logistic_fun',x0,t,p) %使用函数求得最终的（xm，r）
p1 = Logistic_fun(x,t);
figure(1)
plot(t+1780,p,'o',t+1780,p1,'-r*')
title('Logistic模型拟合图')
xlabel('年');
ylabel('人口数');
legend('实际数据','理论数据')
figure(2)
t0 = [2000,2010,2020];
t0 = t0-1780;
p2 = Logistic_fun(x,t0);
plot(t0+1780,p2,'-r*')
title('Logistic模型预测')
xlabel('年');
ylabel('人口数');